/**
 *WangGANG
 *2018/10/11
 */
package main

import (
	"regexp"
	"fmt"
)

func main() {
	s := "I am learning go language"

	//查找符合正则的第一个字符串
	//{m, n}  表达式尽可能重复n次，至少重复m次："ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
	re, _ := regexp.Compile("[a-z]{2,4}")

	//查找符合正则的第一个
	one := re.Find([]byte(s))
	fmt.Println(string(one))

	//查找符合正则的所有slice,n小于0表示返回全部符合的字符串，不然就是返回指定的长度
	all := re.FindAll([]byte(s),-1)
	fmt.Println((all))

	//查找符合条件的index位置,开始位置和结束位置
	index := re.FindIndex([]byte(s))
	fmt.Println((index))

	//查找符合条件的所有的index位置，n同上
	allindex := re.FindAllIndex([]byte(s),-1)
	fmt.Println(allindex)

}